package cn.fl.insurance.transform;

import cn.fl.insurance.vo.InsApplicationVO;
import ins.car.facade.car.car.dto.InsApplicationDTO;



 /**
 * @Description: 保险申请表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class InsBaseApplicationVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto InsApplicationDTO
	 * @return InsApplicationVO
	 */
	public static InsApplicationVO baseToVO(InsApplicationDTO dto) {
		InsApplicationVO  vo = null;
		if (dto != null) { 
			vo = new InsApplicationVO();
			vo.setId(dto.getId());
			vo.setVehicleLicenseId(dto.getVehicleLicenseId());//行驶证表id（主键）
			vo.setCustMagerId(dto.getCustMagerId());//客户经理id
			vo.setCustMagerNm(dto.getCustMagerNm());//客户经理名称
			vo.setCustOrgCd(dto.getCustOrgCd());//客户经理组织cd
			vo.setCustBdOrgCd(dto.getCustBdOrgCd());//客户经理所在事业部组织cd
			vo.setPerId(dto.getPerId());//投保人ID
			vo.setPerNm(dto.getPerNm());//投保人
			vo.setInsPerType(dto.getInsPerType());//被保险人类型（INS0035）：1. 自然人（跟人）2. 法人（企业）
			vo.setInsPerSubType(dto.getInsPerSubType());//被保险人类型的子类型： INS0042)：1. 他人， 2. 本人
			vo.setInsPerNm(dto.getInsPerNm());//被保险人
			vo.setInsPerAddr(dto.getInsPerAddr());//被保险人地址
			vo.setCertTypCd(dto.getCertTypCd());//被投保人证件类型，数据字典
			vo.setCertNo(dto.getCertNo());//被保险人证件号码(数据字典编码)
			vo.setCertNm(dto.getCertNm());//被保险人证件姓名/公司名称
			vo.setInsPerMobile(dto.getInsPerMobile());//被保险人手机号
			vo.setFstPer(dto.getFstPer());//第一受益人
			vo.setRecommendedMan(dto.getRecommendedMan());//推荐人
			vo.setInsTotalAmt(dto.getInsTotalAmt());//保险总金额
			vo.setInsCompId(dto.getInsCompId());//保险公司ID
			vo.setInsCompNm(dto.getInsCompNm());//保险公司名称
			vo.setInsCompSubId(dto.getInsCompSubId());//保险支公司ID
			vo.setInsCompSubNm(dto.getInsCompSubNm());//保险支公司名称
			vo.setRgnPrCd(dto.getRgnPrCd());//区域-省
			vo.setRgnPrNm(dto.getRgnPrNm());//区域-省名称
			vo.setRgnCyCd(dto.getRgnCyCd());//区域-市
			vo.setRgnCyNm(dto.getRgnCyNm());//区域-市名称
			vo.setPlateNo(dto.getPlateNo());//号牌号码
			vo.setPayType(dto.getPayType());//支付类型（INS0020）： 1，分期支付；2，一次性支付
			vo.setInsState(dto.getInsState());//保险状态（INS0025）：1，新投保；2，续保
			vo.setPaySchId(dto.getPaySchId());//支付表编号ID
			vo.setPayNo(dto.getPayNo());//支付表编号
			vo.setContNo(dto.getContNo());//合同号，系统自动生成
			vo.setPayState(dto.getPayState());//支付状态（INS0031）：1.未支付；2.已支付
			vo.setLoanState(dto.getLoanState());//贷款状态（INS0028）：1.未放款；2.已放款
			vo.setLoanType(dto.getLoanType());//贷款类型（INS0027）： 1. 分期还款；2.全款
			vo.setBusType(dto.getBusType());//业务类型（INS0026 ）：1. 保险分期；2.保险一次性
			vo.setPlcRem(dto.getPlcRem());//保单备注
			vo.setDataSource(dto.getDataSource());//数据来源（SYS0027）：1. iOS；2. Andriod；3. Windows；4. Web
			vo.setOrderStatus(dto.getOrderStatus());//订单状态（INS0036）：1. 未提交；2. 审核中；3. 未出保；4. 出保中；5. 已出保
			vo.setIsDel(dto.getIsDel());//是否删除(INS0038)) ：0. 否；1. 是
			vo.setUpdateNumber(dto.getUpdateNumber());//更新序号
			vo.setInsQuoteInfoId(dto.getInsQuoteInfoId());//保险公司报价信息id



			vo.setPolicyDeatilId(dto.getPolicyDeatilId());//保险详情id

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			
			vo.setAudStsCd(dto.getAudStsCd());
			vo.setPNo(dto.getPNo());
			vo.setPInstId(dto.getPInstId());
			
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo InsApplicationVO
	 * @return InsApplicationDTO
	 */
	public static InsApplicationDTO baseToDTO(InsApplicationVO vo) {
		InsApplicationDTO dto = null;
		if (vo != null) {
			dto = new InsApplicationDTO();
			dto.setId(vo.getId());
			dto.setVehicleLicenseId(vo.getVehicleLicenseId());//行驶证表id（主键）
			dto.setCustMagerId(vo.getCustMagerId());//客户经理id
			dto.setCustMagerNm(vo.getCustMagerNm());//客户经理名称
			dto.setCustOrgCd(vo.getCustOrgCd());//客户经理组织cd
			dto.setCustBdOrgCd(vo.getCustBdOrgCd());//客户经理所在事业部组织cd
			dto.setPerId(vo.getPerId());//投保人ID
			dto.setPerNm(vo.getPerNm());//投保人
			dto.setInsPerType(vo.getInsPerType());//被保险人类型（INS0035）：1. 自然人（跟人）2. 法人（企业）
			dto.setInsPerSubType(vo.getInsPerSubType());//被保险人类型的子类型： INS0042)：1. 他人， 2. 本人
			dto.setInsPerNm(vo.getInsPerNm());//被保险人
			dto.setInsPerAddr(vo.getInsPerAddr());//被保险人地址
			dto.setCertTypCd(vo.getCertTypCd());//被投保人证件类型，数据字典
			dto.setCertNo(vo.getCertNo());//被保险人证件号码(数据字典编码)
			dto.setCertNm(vo.getCertNm());//证件姓名/公司名称
			dto.setInsPerMobile(vo.getInsPerMobile());//被保险人手机号
			dto.setFstPer(vo.getFstPer());//第一受益人
			dto.setRecommendedMan(vo.getRecommendedMan());//推荐人
			dto.setInsTotalAmt(vo.getInsTotalAmt());//保险总金额
			dto.setInsCompId(vo.getInsCompId());//保险公司ID
			dto.setInsCompNm(vo.getInsCompNm());//保险公司名称
			dto.setInsCompSubId(vo.getInsCompSubId());//保险支公司ID
			dto.setInsCompSubNm(vo.getInsCompSubNm());//保险支公司名称
			dto.setRgnPrCd(vo.getRgnPrCd());//区域-省
			dto.setRgnPrNm(vo.getRgnPrNm());//区域-省名称
			dto.setRgnCyCd(vo.getRgnCyCd());//区域-市
			dto.setRgnCyNm(vo.getRgnCyNm());//区域-市名称
			dto.setPlateNo(vo.getPlateNo());//号牌号码
			dto.setPayType(vo.getPayType());//支付类型（INS0020）： 1，分期支付；2，一次性支付
			dto.setInsState(vo.getInsState());//保险状态（INS0025）：1，新投保；2，续保
			dto.setPaySchId(vo.getPaySchId());//支付表编号ID
			dto.setPayNo(vo.getPayNo());//支付表编号
			dto.setContNo(vo.getContNo());//合同号，系统自动生成
			dto.setPayState(vo.getPayState());//支付状态（INS0031）：1.未支付；2.已支付
			dto.setLoanState(vo.getLoanState());//贷款状态（INS0028）：1.未放款；2.已放款
			dto.setLoanType(vo.getLoanType());//贷款类型（INS0027）： 1. 分期还款；2.全款
			dto.setBusType(vo.getBusType());//业务类型（INS0026 ）：1. 保险分期；2.保险一次性
			dto.setPlcRem(vo.getPlcRem());//保单备注
			dto.setDataSource(vo.getDataSource());//数据来源（SYS0027）：1. iOS；2. Andriod；3. Windows；4. Web
			dto.setOrderStatus(vo.getOrderStatus());//订单状态（INS0036）：1. 未提交；2. 审核中；3. 未出保；4. 出保中；5. 已出保
			dto.setIsDel(vo.getIsDel());//是否删除(INS0038)) ：0. 否；1. 是
			dto.setUpdateNumber(vo.getUpdateNumber());//更新序号
			dto.setInsQuoteInfoId(vo.getInsQuoteInfoId());//保险公司报价信息id

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			
			dto.setAudStsCd(vo.getAudStsCd());
			dto.setPNo(vo.getPNo());
			dto.setPInstId(vo.getPInstId());
		}
		return dto;
	}
}
